'use strict';
const xtpl = require('xtpl');
const path = require('path');
const moment = require('moment');
const db = require('../configs/database')
const baseCtr = require('./baseController');
module.exports.classAdd = function (req, res) {

    xtpl.renderFile(
        path.join(__dirname, '../view/admin/class_add.html'),
        {
            page: 'claAdd',

        },
        function (err, content) {
            res.setHeader('Conten-Type', 'text/html;charset=utf-8');
            res.send(content);

        })
};

module.exports.classList = function (req, res) {

    var pn = req.query.pn != undefined ? req.query.pn : 1;

    var limit = 2;
    var start = (pn - 1) * limit;
    db.table('class').limit(start, limit).select().then(function (data) {
        db.table('class').count('class_id').then(function (total) {
            var endPn = Math.ceil(total/limit);
            var pageArr = [];
            for (var i = 1; i<=endPn; i++) {
                pageArr.push(i);
            }
            xtpl.renderFile(
                path.join(__dirname, '../view/admin/class_list.html'),
                {
                    page: 'claList',
                    claList: data,
                    pageArr:pageArr,
					pn:parseInt(pn),	// 是url的参数值，是字符串，要转成整型
					endPn: endPn
                },
                function (err, content) {


                    res.setHeader('Conten-Type', 'text/html;charset=utf-8');
                    res.send(content);

                })
        })

    })

};

module.exports.classAddData = function (req, res) {
    var where = `class_name='${req.body.class_name}'`;
    db.table('class').field('class_id').where(where).find().then(function (result) {
        console.log(result)
        if (JSON.stringify(result) == '{}') {
            var data = {
                class_name: req.body.class_name,

                class_time: Date.parse(req.body.class_time) / 1000
            }
            db.table('class').add(data).then(function () {
                console.log('添加成功')
                res.redirect('/admin/class/class_list')
            }).catch(function (err) {
                console.log(err)
            })

        } else {

        }

    })

};
module.exports.classDelete = function(req,res){
	var id = req.params.id;  // 这句可以接收网址 ...admin/student/student_delete/4
	// 接下来就是删除操作
	
		// 删除成功，再删除学生表
		db.table('student').where({class_id:id}).count('stu_id').then(function(have){
			if(have!=''){
				baseCtr.sendMsg('该班级还有'+have+'学生未删除，请删除该班学生后再删除',res);
			}else{
				db.table('class').where({class_id:id}).delete().then(function(affectRows){
			// 删除成功
			res.redirect('/admin/class/class_list');
		});
	
			}
		})
		
};
module.exports.classEdit = function(req,res){
	// xtpl.renderFile('',{},function(){})
	// 先查询班级列表
	
		
		db.table('class').where({class_id:req.params.id}).find().then(function(claData){
			
			// 转换时间（记得时间戳是：毫秒）
			claData.class_time = moment(claData.class_time*1000).format('YYYY-MM-DD');
			// 显示视图
			xtpl.renderFile(
				path.join(__dirname,'../view/admin/class_edit.html'),	// 加载视图文件
				{
					page:'claAdd',	// 页面名称
					claList:claData,
					claData:claData
				},  // 第2个参数（主要是用于传给视图的）
				function(err,content){
					// 设置输出的内容类型 html
					res.setHeader('Content-Type','text/html;charset=utf-8');
					res.send(content);
				}
			)

		}).catch(function(err){
		//err为具体的错误信息
		console.log(err)	// 命令行显示(方便调试)
	})
}

// 学生修改操作
module.exports.classEditData = function(req,res){
	// 测试
	// console.log(req.body.stu_name)
	// 修改学生的逻辑：要先检查是否已录入，没有才可以修改
	var where = `class_id!='${req.params.id}' and (class_name='${req.body.class_name}')`;
	db.table('class').field('class_id').where(where).find().then(function(result){
		// console.log(JSON.stringify(result))  // {} 字符串的
		// console.log(JSON.stringify(result)=='{}')
		if(JSON.stringify(result)=='{}'){
			// 接下来这里做修改
			// console.log(req.files.class_img);
			var data = {
				class_name:req.body.class_name,
				class_time:Date.parse(req.body.class_time)/1000,
				class_id:req.body.class_id,
				// class_img:path.basename(req.files.class_img.path)	// 只获取名称，不包括路径
			}
			// console.log(data)
			db.table('class').where({class_id:req.params.id}).update(data).then(function(){
				console.log('修改成功')
				// 跳转到列表页
				res.redirect('/admin/class/class_list');  // redirect 重定向，跳转
			}).catch(function(err){
				//err为具体的错误信息
				console.log(err)	// 命令行显示(方便调试)
			})
		}else{
			// 提示有记录，不能添加
			// res.send('<script>alert("记录已存在");history.go(-1)</script>');
			// 这种页面提示比较常见
			baseCtr.sendMsg('该学生已存在',res);
		}

		// res.end();	// 结束程序，跳转不能加这个
	}).catch(function(err){
		//err为具体的错误信息
		console.log(err)	// 命令行显示(方便调试)
	})
}
module.exports.class_deleteAll=function(req,res){
	var idsArr = req.body['ids[]'];  // [ '12', '6' ]
	// 删除成功，再删除学生表
	db.table('student').where({class_id:['in',idsArr]}).count('stu_id').then(function(have){
		if(have!=''){
			baseCtr.sendMsg('该班级还有'+have+'学生未删除，请删除该班学生后再删除',res);
		}else{
			db.table('class').where({class_id:['in',idsArr]}).delete().then(function(affectRows){
		// 删除成功
		res.redirect('/admin/class/class_list');
	});

		}
	})


	// // 删除数据
	// db.table('student_subject_data').where({stu_id:['in',idsArr]}).delete().then(function(affectRows){
	// 	// 删除成功，再删除学生表
	// 	db.table('student').where({stu_id:['in',idsArr]}).delete().then(function(affectRows){
	// 		// 删除成功
	// 		res.redirect('/admin/student/student_list');
	// 	});
	// });



}